Metadata Items
The metadata items for use within the ITK framework are documented below. Metadata is optionally sent in support of ITK Correspondence payloads.
The metadata is based on a subset of IHE's Extrinsic Object metadata profile, which in turn is based on based on OASIS ebXML Registry standard. If a more extensive metadata set is required, for example to support a Cross Enterprise Document Sharing (XDS) repository, then the relevant IHE specification should be consulted.
Format of Metadata
Metadata items are generally represented as either Slots or Classifications. Consult the rim.xsd schema in the Interoperability Toolkit Core pack for more details.
A Slot is a named string list that provides metadata for an object in a name / value list pair. A Slot's format includes
<Slot name="Slotname"><ValueList>
<Value>Metadata Value</Value>
</ValueList>
</Slot>
Classifications use terminologies to record metadata. Their format includes
<Classification id="uuid of classification instance" classificationScheme="uuid of classification scheme"classifiedObject="object identifier" nodeRepresentation="codeValue">
<Name value="Display name for the codeValue"/>
<Slot name="codingScheme">
<ValueList>
<Value>identifier for codingScheme</Value>
</ValueList>
</Slot>
</Classification>
Definition of Metadata Items
Metadata wrapper and item definitions used to support ITK payloads are listed below.
metadataPayload
Optionality | Description |
---|---|
Mandatory | A wrapper for the extrinsic object |
Derivation | |
<none> |
Notes
The ITK metadata (which includes metadata for all payloads in an ITK transmission) is wrapped using the itkmetadata.xsd schema. For details of the itkmetadata.xsd schema see the Interoperability Toolkit Core pack.
Example
<itk:metadataPayload><rim:ExtrinsicObject id="uuid_7D6A9000-AE1A-11DB-97EF-B18E1E0994CD" mimeType="application/pdf" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1">
...metadata items as described below...
</rim:ExtrinsicObject>
</itk:metadataPayload>
ExtrinsicObject
The ExtrinsicObject encapsulates the metadata items. It has the following attributes
id | The id attribute is the id of the payload being described. This is the same Identifier as described on the manifestItem/@id and payload/@id for the payload being described |
mimeType | The mimeType is the payload mimeType, and should match that mimeType defined in the manifest for the payload |
objectType | This is fixed to the IHE defined UUID "urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" |
Example
<rim:ExtrinsicObject id="uuid_7D6A9000-AE1A-11DB-97EF-B18E1E0994CD" mimeType="application/pdf" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1">...metadata items as described below...
</rim:ExtrinsicObject>
Creation Time
Represents the time of creation of the payload.
Optionality: Optional [0..1]
Metadata type: Slot
Slot name | This is fixed to "creationTime" |
Value | The creation
date of the payload. Format using the HL7 v2.5 data type TS
For example, for a CDA document this would be the
effectiveTime for the document
/ClinicalDocument/effectiveTime/@value |
Example
<rim:Slot name="creationTime"><rim:ValueList>
<rim:Value>20101020141500</rim:Value>
</rim:ValueList>
</rim:Slot>
Language Code
Specifies the language of character data in the payload.
Optionality: Optional [0..1]
Metadata type: Slot
Slot name | Fixed to "languageCode" |
Value | The language in which the payload appears. The values are language identifiers as described by the Internet Engineering Task Force (IETF), RFC 1766 |
Example
<rim:Slot name="languageCode"><rim:ValueList>
<rim:Value>en-GB</rim:Value>
</rim:ValueList>
</rim:Slot>
Source Patient Identifier
The patient identifier that represents the subject of care of the payload.
Optionality: Mandatory [1..1]
Metadata type: Slot
Slot name | Fixed to "sourcePatientId" |
Value | The identifier for the patient as defined
in the payload. This may
be a NHS number, or a local patient identifier. Value includes the
assigning authority domain identifier, as well as the patient identifier
in the format
of the HL7 v2.5 data type CX. For example, in a CDA document this would be sourced from the record target id attribute assigningAuthorityDomainIdentifier = /ClinicalDocument/recordTarget/patientRole/id/@extension patientIdentifier = /ClinicalDocument/recordTarget/patientRole/id/@root |
If more than one patient identifier is listed in the document, by preference the NHS Number should be used.
Example
<rim:Slot name="sourcePatientId"><rim:ValueList>
<rim:Value>1234567891^^^2.16.840.1.113883.2.1.4.1</rim:Value>
</rim:ValueList>
</rim:Slot>
Source Patient Information
Demographic information relating to the patient.
Optionality: Optional [0..1]
Metadata type: Slot
Slot name | Fixed to "sourcePatientInfo" |
Value | Demographic information relating to the
patient. Demographic information captured for metadata includes patient
given and family names, gender, date of birth, address and telecom details. For the format of patient name see the "HL7 v2 ADT Interoperability Message Specification" Patient Identification (PID) section 5 For the format of patient gender see the "HL7 v2 ADT Interoperability Message Specification" Patient Identification (PID) section 8 For the format of patient date of birth see the "HL7 v2 ADT Interoperability Message Specification" Patient Identification (PID) section 7 For the format of patient address see the "HL7 v2 ADT Interoperability Message Specification" Patient Identification (PID) section 11 For the format of patient telecom see the "HL7 v2 ADT Interoperability Message Specification" Patient Identification (PID) section 13 For example, in a CDA document this would be sourced from the following record target attributes /ClinicalDocument/recordTarget/patientRole/patient/name/given /ClinicalDocument/recordTarget/patientRole/patient/name/family /ClinicalDocument/recordTarget/patientRole/patient/administrativeGenderCode/@displayName /ClinicalDocument/recordTarget/patientRole/patient/birthTime/@value /ClinicalDocument/recordTarget/patientRole/telecom/@value /ClinicalDocument/recordTarget/patientRole/addr |
Note
Patient demographic data will not always be present or complete in payloads. Partial patient demographic data may be sent. Some demographic information may have more than one value (for example there may be several telecoms for a patient).
Example
<rim:Slot name="sourcePatientInfo"><rim:ValueList>
<rim:Value>PID-5|Taylor^Belinder^^^Mrs^^L</rim:Value>
<rim:Value>PID-7|19561203</rim:Value>
<rim:Value>PID-8|F</rim:Value>
<rim:Value>PID-11|The Anytown Retirement Home^1 Church Street^Anytown^^AN6 7UY^^H</rim:Value>
<rim:Value>PID-13|tel: 0123 456789^^^^^^^H</rim:Value>
</rim:ValueList>
</rim:Slot>
Title
The title associated with the payload
Optionality: Mandatory [1..1]
Metadata type: Name
Value | The title of the payload. For example, in a CDA document this would be sourced from the clinical document title /ClinicalDocument/title |
Example
<rim:Name><rim:LocalizedString value="NHS Continuing Healthcare Checklist Assessment"/>
</rim:Name>
Comments
Comments may be optionally incorporated in the metadata. The content of any comments will be arbitrary, and at the discretion of the sender.
Optionality: Optional [0..1]
Metadata type: Description
Value | Comments associated with the payload |
Example
<rim:Description><rim:LocalizedString value="This document was produced automatically from digital dictation"/>
</rim:Description>
Author Classification
Optionality: Mandatory [1..1]
Metadata type: Classification
Classification | id | This is a generated UUID representing this instance of an author classification |
classificationScheme | This is fixed to the IHE UUID for an author classification "urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" | |
classifiedObject | This is the payload id of the payload being described (i.e. the same as the manifest payload id) | |
nodeRepresentation | In the case of an author classification this is left null | |
Slot | Slot Name | This is fixed to "authorPerson" |
Value | The name of the author in the format of the HL7 v2.5 XCN data type.. | |
Slot | Slot Name | This is fixed to "authorInstitution" |
Value | The organisation associated with the author. This is based on the HL7 v2.5 XON data type. | |
Slot | Slot Name | This is fixed to "authorSpecialty" |
Value | The specialty (i.e. job role) of the author |
Example
<rim:Classification id="urn:uuid:a4613c9a-72fb-4f0a-b7a7-9f99934462a6" classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" classifiedObject="uuid_7D6A9000-AE1A-11DB-97EF-B18E1E0994CD" nodeRepresentation=""><rim:Slot name="authorPerson">
<rim:ValueList>
<rim:Value>1234512345^Bradwick^June^^^Ms^^^1.2.826.0.1285.0.2.0.65</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="authorInstitution">
<rim:ValueList>
<rim:Value>East Cheshire NHS Trust^^R56</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="authorSpecialty">
<rim:ValueList>
<rim:Value>Staff Nurse</rim:Value>
</rim:ValueList>
</rim:Slot>
</rim:Classification>
Type Code Classification
A code specifying the precise kind of payload (particularly relevant to documents).
Optionality: Optional [0..1]
Metadata type: Classification
Classification | id | This is a generated UUID representing this instance of a classification |
classificationScheme | This is fixed to the IHE UUID for a type code classification "urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" | |
classifiedObject | This is the payload id of the payload being described (i.e. the same as the manifest payload id) | |
nodeRepresentation | This is the type code being described.
For example, in CDA this value is sourced from /ClinicalDocument/code/@code (In the case of a compositional statement used to describe the document code, the whole of the compositional statement should be used.) |
|
Slot | Slot Name | This is fixed to "codingScheme" |
Value | This is the code for the coding scheme that produced the code in the
nodeRepresentation For example, in CDA this value is sourced from /ClinicalDocument/code/@codeSystem |
|
Name | ||
Value | This is the display name associated with
the code being carried in the nodeRepresentation For example, in CDA this value may be sourced from /ClinicalDocument/code/@displayName (if present) or /ClinicalDocument/title |
Example
<rim:Classification id="urn:uuid:684ac2db-8ee5-4d40-9c49-362d7181bd10" classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="uuid_7D6A9000-AE1A-11DB-97EF-B18E1E0994CD" nodeRepresentation="766781000000107"><rim:Slot name="codingScheme">
<rim:ValueList>
<rim:Value>2.16.840.1.113883.2.1.3.2.4.15</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Name>
<rim:LocalizedString value="NHS Continuing Healthcare Checklist Assessment" />
</rim:Name>
</rim:Classification>
Format Code Classification
Format code is more specific than type code. Format code is sufficiently specific to ensure processing and display by identifying a payload encoding and structure. Format code is particularly relevant to documents.
Optionality: Optional [0..1]
Metadata type: Classification
Classification | id | This is a generated UUID representing this instance of a classification |
classificationScheme | This is fixed to the IHE UUID for a format code classification "urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" | |
classifiedObject | This is the payload id of the payload being described (i.e. the same as the manifest payload id) | |
nodeRepresentation | This is the format code being described.
In terms of CDA, this is the message type. For example, in CDA this value is sourced from /ClinicalDocument/messageType/@extension |
|
Slot | Slot Name | This is fixed to "codingScheme" |
Value | This is the code for the coding scheme that produced the code in the
nodeRepresentation For example, in CDA this value is sourced from /ClinicalDocument/messageType/@root |
|
Name | ||
Value | This is the display name associated with
the code being carried in the nodeRepresentation For example, in CDA this value is sourced from /ClinicalDocument/messageType/@extension |
Example
<rim:Classification id="urn:uuid:f8f832d5-7243-461c-b32c-6501e6ac17a3" classificationScheme="urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" classifiedObject="uuid_7D6A9000-AE1A-11DB-97EF-B18E1E0994CD" nodeRepresentation="POCD_MT010011GB01"><rim:Slot name="codingScheme">
<rim:ValueList>
<rim:Value>2.16.840.1.113883.2.1.3.2.4.18.17</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Name>
<rim:LocalizedString value="POCD_MT010011GB01" />
</rim:Name>
</rim:Classification>
Healthcare Facility Classification
Represents the type of healthcare facility that formed the setting for the clinical encounter to which the payload relates.Optionality: Optional [0..1]
Metadata type: Classification
Classification | id | This is a generated UUID representing this instance of a classification |
classificationScheme | This is fixed to the IHE UUID for a healthcare facility classification "urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" | |
classifiedObject | This is the payload id of the payload being described (i.e. the same as the manifest payload id) | |
nodeRepresentation | This is the healthcare facility code being
described. In terms of CDA, this is the encompassing encounter
healthcare facility code For example, in CDA this value is sourced from /ClinicalDocument/componentOf/encompassingEncounter/location/healthCareFacility/code/@code |
|
Slot | Slot Name | This is fixed to "codingScheme" |
Value | This is the code for the coding scheme that produced the code in the
nodeRepresentation For example, in CDA this value is sourced from /ClinicalDocument/componentOf/encompassingEncounter/location/healthCareFacility/code/@codeSystem |
|
Name | ||
Value | This is the display name associated with
the code being carried in the nodeRepresentation For example, in CDA this value is sourced from /ClinicalDocument/componentOf/encompassingEncounter/location/healthCareFacility/code/@displayName |
Example
<rim:Classification id="urn:uuid:0e58528b-3d10-42a3-bf27-3c53d338efe8" classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="uuid_7D6A9000-AE1A-11DB-97EF-B18E1E0994CD" nodeRepresentation="30629002"><rim:Slot name="codingScheme">
<rim:ValueList>
<rim:Value>2.16.840.1.113883.2.1.3.2.4.15</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Name>
<rim:LocalizedString value="Retirement Home" />
</rim:Name>
</rim:Classification>
Practice Setting Classification
Represents the clinical specialty where the act that produced the payload was performed.
Optionality: Optional [0..1]
Metadata type: Classification
Classification | id | This is a generated UUID representing this instance of a classification |
classificationScheme | This is fixed to the IHE UUID for a practice setting code classification "urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead" | |
classifiedObject | This is the payload id of the payload being described (i.e. the same as the manifest payload id) | |
nodeRepresentation | This is the practice setting code being
described. In terms of CDA when using a compositional expression of document type, this is the care setting type. |
|
Slot | Slot Name | This is fixed to "codingScheme" |
Value | This is the code for the coding scheme that produced the code in the nodeRepresentation | |
Name | ||
Value | This is the display name associated with the code being carried in the nodeRepresentation |
Example
<rim:Classification id="urn:uuid:ab211cd1-6eac-40fe-81c1-a15ae4367de5" classificationScheme="urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead" classifiedObject="uuid_7D6A9000-AE1A-11DB-97EF-B18E1E0994CD" nodeRepresentation="309929007"><rim:Slot name="codingScheme">
<rim:ValueList>
<rim:Value>2.16.840.1.113883.2.1.3.2.4.15</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Name>
<rim:LocalizedString value="Clinical genetics department" />
</rim:Name>
</rim:Classification>
Confidentiality Classification
The confidentiality level attached to the payload. If no confidentiality level is specified in the payload, then a vocabulary of
"N" - Normal
"R" - Restricted
"V" - Very Restricted
may be used.
Optionality: Optional [0..1]
Metadata type: Classification
Classification | id | This is a generated UUID representing this instance of a classification |
classificationScheme | This is fixed to the IHE UUID for a confidentiality classification "urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" | |
classifiedObject | This is the payload id of the payload being described (i.e. the same as the manifest payload id) | |
nodeRepresentation | This is the confidentiality code being
described (see above).
For example, in CDA, this will be the confidentiality code from the clinical document /ClinicalDocument/confidentialityCode/@code |
|
Slot | Slot Name | This is fixed to "codingScheme" |
Value | This is the code for the coding scheme that produced the code in the nodeRepresentation | |
Name | ||
Value | This is the display name associated with the code being carried in the nodeRepresentation |
Example
<rim:Classification id="urn:uuid:a345a47f-c38d-457b-a474-0286d36fc028" classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="uuid_7D6A9000-AE1A-11DB-97EF-B18E1E0994CD" nodeRepresentation="V"><rim:Slot name="codingScheme">
<rim:ValueList>
<rim:Value>2.16.840.1.113883.1.11.16926</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Name>
<rim:LocalizedString value="Very Restricted"/>
</rim:Name>
</rim:Classification>
Legal Authenticator
A participant who has legally authenticated, or attested to the content of the payload.Optionality: Optional [0..1]
Metadata type: Slot
Slot name | Fixed to "legalAuthenticator" |
Value | The person details of the legal authenticator of the payload, using the HL7 v2.5 data type XCN. |
<rim:valueList>
<rim:value>102016309988^Jones^Peter^Andrew^^Dr^^^1.2.826.0.1285.0.2.0.109</rim:value>
</rim:valueList>
</rim:Slot>